
<?php
 
 class StationsController extends AppController{
  public $uses = array('Station','Tax','Bus', 'Line');

  public function beforeFilter(){
      parent::beforeFilter();
      $this->Auth->allow('searchStation', 'searchRoute');
    }

    public function isAuthorized($user){
      if (in_array($this->action, array('edit', 'delete','add','view'))){
        if ($user['role'] != 'admin'){          
          return false;
        }
      }
      
      return true;
    }
  

    // public function login(){
    //   if ($this->request->is('post')){
    //     if ($this->Auth->login()){
    //       $this->redirect(array('action' => 'index'));
    //     } else{
    //       $this->Session->setFlash('Seu Login/Senha está incorreto');
    //     }
    //   }
    // }

    // public function logout(){
    //   $this->redirect($this->Auth->logout());
    //   $this->Session->setFlash('Deslogado com sucesso!');
    // }


  public function index() {
    $this->set('stations', $this->Station->find('all'));
		   
  }
    
  public function view($id = null) {
    $this->Station->id = $id;
    $this->set('station', $this->Station->read());
  }

  public function add() {
    if(AuthComponent::user('role') != ('admin' or 'author')){
      throw new ForbiddenException("Você não tem permissão para executar esta ação.");
    }
    $this->set ('lines', $this->Line->find('all'));
    if($this->request->is('post')){
      if($this->Station->saveAll($this->request->data)){
         $this->redirect(array('action' => 'index'));
      } 
    }
  }
  
  public function edit($id = null) {
    if(AuthComponent::user('role') != ('admin' or 'author')) {
      throw new ForbiddenException("Você não tem permissão para executar esta ação.");
    }
    $this->set ('lines', $this->Line->find('all'));
    $this->Station->id = $id;
    if ($this->request->is('get')) {
      $this->request->data = $this->Station->read();
    } 
    else {
      if ($this->Station->saveAll($this->request->data)) {
        $this->redirect(array('action' => 'index'));
      }
    }
  }

  public function delete($id) {
    if(AuthComponent::user('role') != 'admin'){
      throw new ForbiddenException("Você não tem permissão para executar esta ação.");
    }
    if (!$this->request->is('post')) {
    }
    if ($this->Station->delete($id)) {
        $this->redirect(array('action' => 'index'));
    }
  }
  /**
  * Escolher  a estacao
  */
  public function searchStation(){
    $this->set('stations', $this->Station->find('all'));
    $this->set('filters', 'show');
    $this->set('type', 'feet'); 
    
  }
  /**
  * Buscar parametro da rota escolhida e setalas para o mapa
  */
  public function searchRoute(){
    $this->layout = 'mapWalk';
    if ($this->request->is('post')) {
      $selectedStation = $_POST['Station'];
      $station = $this->Station->find('all', array('conditions'=> array('Station.acronym =' => $selectedStation)));
      
      $this->set('latitude', $station[0]['Station']['latitude']);
      $this->set('longitude', $station[0]['Station']['longitude']);
    } 
  }


     		
}

?>